<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:tns="http://schemas.datacontract.org/2004/07/DTO" elementFormDefault="qualified" targetNamespace="http://schemas.datacontract.org/2004/07/DTO" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://localhost:3574/RegOnlineDPS.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
  <xs:complexType name="ArrayOfPrepod">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Prepod" nillable="true" type="tns:Prepod" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfPrepod" nillable="true" type="tns:ArrayOfPrepod" />
  <xs:complexType name="Prepod">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:DTOBase">
        <xs:sequence>
          <xs:element minOccurs="0" name="Grups" nillable="true" type="tns:Group" />
          <xs:element minOccurs="0" name="Idprep" type="xs:int" />
          <xs:element minOccurs="0" name="person" nillable="true" type="tns:Person" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Prepod" nillable="true" type="tns:Prepod" />
  <xs:complexType name="DTOBase">
    <xs:sequence>
      <xs:element minOccurs="0" name="State" type="tns:StateObject" />
    </xs:sequence>
    <xs:attribute ref="ser:Id" />
    <xs:attribute ref="ser:Ref" />
  </xs:complexType>
  <xs:element name="DTOBase" nillable="true" type="tns:DTOBase" />
  <xs:simpleType name="StateObject">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Unchanged" />
      <xs:enumeration value="Created" />
      <xs:enumeration value="Updated" />
      <xs:enumeration value="Deleted" />
    </xs:restriction>
  </xs:simpleType>
  <xs:element name="StateObject" nillable="true" type="tns:StateObject" />
  <xs:complexType name="Group">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:DTOBase">
        <xs:sequence>
          <xs:element minOccurs="0" name="IdGrup" nillable="true" type="xs:int" />
          <xs:element minOccurs="0" name="Up" nillable="true" type="tns:ArrayOfUchPlan" />
          <xs:element minOccurs="0" name="grupName" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Group" nillable="true" type="tns:Group" />
  <xs:complexType name="ArrayOfUchPlan">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="UchPlan" nillable="true" type="tns:UchPlan" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfUchPlan" nillable="true" type="tns:ArrayOfUchPlan" />
  <xs:complexType name="UchPlan">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:DTOBase">
        <xs:sequence>
          <xs:element minOccurs="0" name="Dis" nillable="true" type="tns:Discipline" />
          <xs:element minOccurs="0" name="GodsUP" nillable="true" type="tns:godUP" />
          <xs:element minOccurs="0" name="IdUP" nillable="true" type="xs:int" />
          <xs:element minOccurs="0" name="SemType" nillable="true" type="tns:TypeSem" />
          <xs:element minOccurs="0" name="StatusImageUrl" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Vid" nillable="true" type="tns:VidWork" />
          <xs:element minOccurs="0" name="Ws" nillable="true" type="tns:Work" />
          <xs:element minOccurs="0" name="rw" nillable="true" type="tns:ArrayOfReqsWork" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="UchPlan" nillable="true" type="tns:UchPlan" />
  <xs:complexType name="Discipline">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:DTOBase">
        <xs:sequence>
          <xs:element minOccurs="0" name="DisName" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="IdDis" nillable="true" type="xs:int" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Discipline" nillable="true" type="tns:Discipline" />
  <xs:complexType name="godUP">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:DTOBase">
        <xs:sequence>
          <xs:element minOccurs="0" name="IdGod" type="xs:int" />
          <xs:element minOccurs="0" name="NameGod" type="xs:int" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="godUP" nillable="true" type="tns:godUP" />
  <xs:complexType name="TypeSem">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:DTOBase">
        <xs:sequence>
          <xs:element minOccurs="0" name="IdTypeSem" type="xs:int" />
          <xs:element minOccurs="0" name="NameSemType" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="TypeSem" nillable="true" type="tns:TypeSem" />
  <xs:complexType name="VidWork">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:DTOBase">
        <xs:sequence>
          <xs:element minOccurs="0" name="IdVid" nillable="true" type="xs:int" />
          <xs:element minOccurs="0" name="VidWorkName" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="VidWork" nillable="true" type="tns:VidWork" />
  <xs:complexType name="Work">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:DTOBase">
        <xs:sequence>
          <xs:element minOccurs="0" name="IdUP" nillable="true" type="xs:int" />
          <xs:element minOccurs="0" name="IdWork" nillable="true" type="xs:int" />
          <xs:element minOccurs="0" name="RegDate" nillable="true" type="xs:dateTime" />
          <xs:element minOccurs="0" name="RegNum" nillable="true" type="xs:int" />
          <xs:element minOccurs="0" name="St" nillable="true" type="tns:Student" />
          <xs:element minOccurs="0" name="options" nillable="true" type="xs:decimal" />
          <xs:element minOccurs="0" name="theme" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Work" nillable="true" type="tns:Work" />
  <xs:complexType name="Student">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:DTOBase">
        <xs:sequence>
          <xs:element minOccurs="0" name="Grups" nillable="true" type="tns:Group" />
          <xs:element minOccurs="0" name="Idstud" type="xs:int" />
          <xs:element minOccurs="0" name="Sem" nillable="true" type="tns:Semestr" />
          <xs:element minOccurs="0" name="person" nillable="true" type="tns:Person" />
          <xs:element minOccurs="0" name="zach" nillable="true" type="tns:Zachet" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Student" nillable="true" type="tns:Student" />
  <xs:complexType name="Semestr">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:DTOBase">
        <xs:sequence>
          <xs:element minOccurs="0" name="SemNum" nillable="true" type="xs:int" />
          <xs:element minOccurs="0" name="Up" nillable="true" type="tns:ArrayOfUchPlan" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Semestr" nillable="true" type="tns:Semestr" />
  <xs:complexType name="Person">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:DTOBase">
        <xs:sequence>
          <xs:element minOccurs="0" name="EMail" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="FirstName" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="IDPerson" type="xs:int" />
          <xs:element minOccurs="0" name="LastName" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Patronymic" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Person" nillable="true" type="tns:Person" />
  <xs:complexType name="Zachet">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:DTOBase">
        <xs:sequence>
          <xs:element minOccurs="0" name="IdZach" type="xs:int" />
          <xs:element minOccurs="0" name="Idstud" nillable="true" type="xs:decimal" />
          <xs:element minOccurs="0" name="nZach" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="Zachet" nillable="true" type="tns:Zachet" />
  <xs:complexType name="ArrayOfReqsWork">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ReqsWork" nillable="true" type="tns:ReqsWork" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfReqsWork" nillable="true" type="tns:ArrayOfReqsWork" />
  <xs:complexType name="ReqsWork">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:DTOBase">
        <xs:sequence>
          <xs:element minOccurs="0" name="IdListReq" nillable="true" type="xs:int" />
          <xs:element minOccurs="0" name="IdReqWork" nillable="true" type="xs:int" />
          <xs:element minOccurs="0" name="IdUP" nillable="true" type="xs:int" />
          <xs:element minOccurs="0" name="LR" nillable="true" type="tns:ListReq" />
          <xs:element minOccurs="0" name="StatusImageUrl" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ReqsWork" nillable="true" type="tns:ReqsWork" />
  <xs:complexType name="ListReq">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:DTOBase">
        <xs:sequence>
          <xs:element minOccurs="0" name="IdListReq" nillable="true" type="xs:int" />
          <xs:element minOccurs="0" name="IdRefReq" nillable="true" type="xs:int" />
          <xs:element minOccurs="0" name="IdReqWork" nillable="true" type="xs:int" />
          <xs:element minOccurs="0" name="RR" nillable="true" type="tns:RefReq" />
          <xs:element minOccurs="0" name="expdoc" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="lWs" nillable="true" type="tns:LoadWork" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="ListReq" nillable="true" type="tns:ListReq" />
  <xs:complexType name="RefReq">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:DTOBase">
        <xs:sequence>
          <xs:element minOccurs="0" name="IdRefReq" nillable="true" type="xs:int" />
          <xs:element minOccurs="0" name="nameReq" nillable="true" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="RefReq" nillable="true" type="tns:RefReq" />
  <xs:complexType name="LoadWork">
    <xs:complexContent mixed="false">
      <xs:extension base="tns:DTOBase">
        <xs:sequence>
          <xs:element minOccurs="0" name="DateLoad" nillable="true" type="xs:dateTime" />
          <xs:element minOccurs="0" name="Fext" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="Fname" nillable="true" type="xs:string" />
          <xs:element minOccurs="0" name="IdListReq" nillable="true" type="xs:int" />
          <xs:element minOccurs="0" name="Load" nillable="true" type="xs:base64Binary" />
          <xs:element minOccurs="0" name="SistemNum" nillable="true" type="xs:int" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:element name="LoadWork" nillable="true" type="tns:LoadWork" />
  <xs:complexType name="ArrayOfStudent">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Student" nillable="true" type="tns:Student" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfStudent" nillable="true" type="tns:ArrayOfStudent" />
  <xs:complexType name="ArrayOfGroup">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Group" nillable="true" type="tns:Group" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfGroup" nillable="true" type="tns:ArrayOfGroup" />
  <xs:complexType name="ArrayOfSemestr">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Semestr" nillable="true" type="tns:Semestr" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfSemestr" nillable="true" type="tns:ArrayOfSemestr" />
  <xs:complexType name="ArrayOfWork">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Work" nillable="true" type="tns:Work" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfWork" nillable="true" type="tns:ArrayOfWork" />
  <xs:complexType name="ArrayOfgodUP">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="godUP" nillable="true" type="tns:godUP" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfgodUP" nillable="true" type="tns:ArrayOfgodUP" />
  <xs:complexType name="ArrayOfTypeSem">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TypeSem" nillable="true" type="tns:TypeSem" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfTypeSem" nillable="true" type="tns:ArrayOfTypeSem" />
  <xs:complexType name="ArrayOfRefReq">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="RefReq" nillable="true" type="tns:RefReq" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfRefReq" nillable="true" type="tns:ArrayOfRefReq" />
  <xs:complexType name="ArrayOfDiscipline">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Discipline" nillable="true" type="tns:Discipline" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfDiscipline" nillable="true" type="tns:ArrayOfDiscipline" />
  <xs:complexType name="ArrayOfVidWork">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="VidWork" nillable="true" type="tns:VidWork" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ArrayOfVidWork" nillable="true" type="tns:ArrayOfVidWork" />
</xs:schema>